package com.ciaojian.client.strategy.discount;

import com.ciaojian.core.model.Coupon;
import com.ciaojian.core.model.Order;

/**
 * 上下文类
 *
 * @author oxiny
 */
public class Context<T> {
    private DiscountCalculator<T> discountCalculator;

    public Context(DiscountCalculator<T> discountCalculator) {
        this.discountCalculator = discountCalculator;
    }

    /**
     * 计算价格
     *
     * @param order  订单
     * @param type   类型
     * @param coupon 券码
     * @return 优惠后金额
     */
    public Integer calculate(Order order,
                             String type,
                             Coupon coupon) {
//        // 商品原价
//        int skuPrice = order.getGoodsTotal().intValue();
//
//        // 先判断是否使用了券码
//        if (coupon != null) {
//            // 判断是否为满减券
//            if (coupon.getCouponType() == 0) {
//                Map<String,Integer> map = new HashMap<>(2);
//                map.put(coupon)
//                discountCalculator.calculate(couponInfo, skuPrice);
//            }
//        }

        return 0;
    }


}
